﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 销售合同DTO DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class SaleContractAITDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public SaleContractAITDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
					TaxRate=0m; 
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
					IsPriceIncludeTax=true; 

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        			if (this.TC != null) 
			{
				this.TC.DoSerializeKeyList(dict);
			}
	        			if (this.TaxSchedule != null) 
			{
				this.TaxSchedule.DoSerializeKeyList(dict);
			}
	        	        	        			if (this.Seller != null) 
			{
				this.Seller.DoSerializeKeyList(dict);
			}
	        			if (this.SCDocType != null) 
			{
				this.SCDocType.DoSerializeKeyList(dict);
			}
	        			if (this.SaleContractType != null) 
			{
				this.SaleContractType.DoSerializeKeyList(dict);
			}
	        			if (this.PayerSite != null) 
			{
				this.PayerSite.DoSerializeKeyList(dict);
			}
	        			if (this.Payer != null) 
			{
				this.Payer.DoSerializeKeyList(dict);
			}
	        			if (this.Org != null) 
			{
				this.Org.DoSerializeKeyList(dict);
			}
	        			if (this.OrderBy != null) 
			{
				this.OrderBy.DoSerializeKeyList(dict);
			}
	        			if (this.LegacyOrg != null) 
			{
				this.LegacyOrg.DoSerializeKeyList(dict);
			}
	        			if (this.FC != null) 
			{
				this.FC.DoSerializeKeyList(dict);
			}
	        			if (this.ExeOrg != null) 
			{
				this.ExeOrg.DoSerializeKeyList(dict);
			}
	        	        			if (this.Dept != null) 
			{
				this.Dept.DoSerializeKeyList(dict);
			}
	        	        			if (this.BillToSite != null) 
			{
				this.BillToSite.DoSerializeKeyList(dict);
			}
	        			if (this.BalanceOrg != null) 
			{
				this.BalanceOrg.DoSerializeKeyList(dict);
			}
	        			if (this.ARTerm != null) 
			{
				this.ARTerm.DoSerializeKeyList(dict);
			}
	        			if (this.AccOrg != null) 
			{
				this.AccOrg.DoSerializeKeyList(dict);
			}
	        			if (this.AC != null) 
			{
				this.AC.DoSerializeKeyList(dict);
			}
	        			if (this.SaleContractLines!=null)
			{
				foreach(ufida.u9.ait.openapi.SCLineAITDTOData objdata in this.SaleContractLines)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        	        			if (this.DescFlexField != null) 
			{
				this.DescFlexField.DoSerializeKeyList(dict);
			}
	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public SaleContractAITDTOData(  ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData tC  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData taxSchedule  , System.Decimal taxRate  , System.String startDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData seller  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData sCDocType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData saleContractType  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payerSite  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData payer  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData org  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData orderBy  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData legacyOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData fC  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData exeOrg  , System.String endDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData dept  , System.String businessDate  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData billToSite  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData balanceOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData aRTerm  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData accOrg  , ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData aC  , List<ufida.u9.ait.openapi.SCLineAITDTOData> saleContractLines  , System.String docNo  , System.String memo  , ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData descFlexField  , System.Boolean isPriceIncludeTax  )
		{
			initData();
			this.TC = tC;
			this.TaxSchedule = taxSchedule;
			this.TaxRate = taxRate;
			this.StartDate = startDate;
			this.Seller = seller;
			this.SCDocType = sCDocType;
			this.SaleContractType = saleContractType;
			this.PayerSite = payerSite;
			this.Payer = payer;
			this.Org = org;
			this.OrderBy = orderBy;
			this.LegacyOrg = legacyOrg;
			this.FC = fC;
			this.ExeOrg = exeOrg;
			this.EndDate = endDate;
			this.Dept = dept;
			this.BusinessDate = businessDate;
			this.BillToSite = billToSite;
			this.BalanceOrg = balanceOrg;
			this.ARTerm = aRTerm;
			this.AccOrg = accOrg;
			this.AC = aC;
			this.SaleContractLines = saleContractLines;
			this.DocNo = docNo;
			this.Memo = memo;
			this.DescFlexField = descFlexField;
			this.IsPriceIncludeTax = isPriceIncludeTax;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 原币
		/// 销售合同DTO.Misc.原币
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_tC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TC
		{
			get	
			{	
				return m_tC ;
			}
			set	
			{	
				m_tC = value ;	
			}
		}
			
		

		/// <summary>
		/// 税组合
		/// 销售合同DTO.Misc.税组合
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_taxSchedule ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData TaxSchedule
		{
			get	
			{	
				return m_taxSchedule ;
			}
			set	
			{	
				m_taxSchedule = value ;	
			}
		}
			
		

		/// <summary>
		/// 税率
		/// 销售合同DTO.Misc.税率
		/// </summary>
		private System.Decimal m_taxRate ;
		[DataMember(IsRequired=false)]
		public System.Decimal TaxRate
		{
			get	
			{	
				return m_taxRate ;
			}
			set	
			{	
				m_taxRate = value ;	
			}
		}
			
		

		/// <summary>
		/// 生效日期
		/// 销售合同DTO.Misc.生效日期
		/// </summary>
		private System.String m_startDate ;
		[DataMember(IsRequired=false)]
		public System.String StartDate
		{
			get	
			{	
				return m_startDate ;
			}
			set	
			{	
				m_startDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 销售员
		/// 销售合同DTO.Misc.销售员
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_seller ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Seller
		{
			get	
			{	
				return m_seller ;
			}
			set	
			{	
				m_seller = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据类型
		/// 销售合同DTO.Misc.单据类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_sCDocType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SCDocType
		{
			get	
			{	
				return m_sCDocType ;
			}
			set	
			{	
				m_sCDocType = value ;	
			}
		}
			
		

		/// <summary>
		/// 合同类型
		/// 销售合同DTO.Misc.合同类型
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_saleContractType ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData SaleContractType
		{
			get	
			{	
				return m_saleContractType ;
			}
			set	
			{	
				m_saleContractType = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款位置
		/// 销售合同DTO.Misc.付款位置
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payerSite ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData PayerSite
		{
			get	
			{	
				return m_payerSite ;
			}
			set	
			{	
				m_payerSite = value ;	
			}
		}
			
		

		/// <summary>
		/// 付款客户
		/// 销售合同DTO.Misc.付款客户
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_payer ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Payer
		{
			get	
			{	
				return m_payer ;
			}
			set	
			{	
				m_payer = value ;	
			}
		}
			
		

		/// <summary>
		/// 组织
		/// 销售合同DTO.Misc.组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_org ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 订货客户
		/// 销售合同DTO.Misc.订货客户
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_orderBy ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData OrderBy
		{
			get	
			{	
				return m_orderBy ;
			}
			set	
			{	
				m_orderBy = value ;	
			}
		}
			
		

		/// <summary>
		/// 开票组织
		/// 销售合同DTO.Misc.开票组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_legacyOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData LegacyOrg
		{
			get	
			{	
				return m_legacyOrg ;
			}
			set	
			{	
				m_legacyOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 本币
		/// 销售合同DTO.Misc.本币
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_fC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData FC
		{
			get	
			{	
				return m_fC ;
			}
			set	
			{	
				m_fC = value ;	
			}
		}
			
		

		/// <summary>
		/// 执行组织
		/// 销售合同DTO.Misc.执行组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_exeOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ExeOrg
		{
			get	
			{	
				return m_exeOrg ;
			}
			set	
			{	
				m_exeOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 失效日期
		/// 销售合同DTO.Misc.失效日期
		/// </summary>
		private System.String m_endDate ;
		[DataMember(IsRequired=false)]
		public System.String EndDate
		{
			get	
			{	
				return m_endDate ;
			}
			set	
			{	
				m_endDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 部门
		/// 销售合同DTO.Misc.部门
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_dept ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData Dept
		{
			get	
			{	
				return m_dept ;
			}
			set	
			{	
				m_dept = value ;	
			}
		}
			
		

		/// <summary>
		/// 业务日期
		/// 销售合同DTO.Misc.业务日期
		/// </summary>
		private System.String m_businessDate ;
		[DataMember(IsRequired=false)]
		public System.String BusinessDate
		{
			get	
			{	
				return m_businessDate ;
			}
			set	
			{	
				m_businessDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账位置
		/// 销售合同DTO.Misc.立账位置
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_billToSite ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BillToSite
		{
			get	
			{	
				return m_billToSite ;
			}
			set	
			{	
				m_billToSite = value ;	
			}
		}
			
		

		/// <summary>
		/// 结算组织
		/// 销售合同DTO.Misc.结算组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_balanceOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData BalanceOrg
		{
			get	
			{	
				return m_balanceOrg ;
			}
			set	
			{	
				m_balanceOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 立账条件
		/// 销售合同DTO.Misc.立账条件
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_aRTerm ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData ARTerm
		{
			get	
			{	
				return m_aRTerm ;
			}
			set	
			{	
				m_aRTerm = value ;	
			}
		}
			
		

		/// <summary>
		/// 核算组织
		/// 销售合同DTO.Misc.核算组织
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_accOrg ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AccOrg
		{
			get	
			{	
				return m_accOrg ;
			}
			set	
			{	
				m_accOrg = value ;	
			}
		}
			
		

		/// <summary>
		/// 核币
		/// 销售合同DTO.Misc.核币
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData m_aC ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfCommonArchiveDataDTOData AC
		{
			get	
			{	
				return m_aC ;
			}
			set	
			{	
				m_aC = value ;	
			}
		}
			
		

		/// <summary>
		/// 销售合同行集合
		/// 销售合同DTO.Misc.销售合同行集合
		/// </summary>
		private List<ufida.u9.ait.openapi.SCLineAITDTOData> m_saleContractLines ;
		[DataMember(IsRequired=false)]
		public List<ufida.u9.ait.openapi.SCLineAITDTOData> SaleContractLines
		{
			get	
			{	
				if (m_saleContractLines == null )
				{
					List<ufida.u9.ait.openapi.SCLineAITDTOData> n_m_list = new List<ufida.u9.ait.openapi.SCLineAITDTOData>() ;
					m_saleContractLines = n_m_list ;
				}
				return m_saleContractLines ;
			}
			set	
			{	
				m_saleContractLines = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 销售合同DTO.Misc.单号
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// 销售合同DTO.Misc.备注
		/// </summary>
		private System.String m_memo ;
		[DataMember(IsRequired=false)]
		public System.String Memo
		{
			get	
			{	
				return m_memo ;
			}
			set	
			{	
				m_memo = value ;	
			}
		}
			
		

		/// <summary>
		/// 描述性弹性域
		/// 销售合同DTO.Misc.描述性弹性域
		/// </summary>
		private ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData m_descFlexField ;
		[DataMember(IsRequired=false)]
		public ufida.u9.ait.openapi.CopyOfDescFlexSegmentsData DescFlexField
		{
			get	
			{	
				return m_descFlexField ;
			}
			set	
			{	
				m_descFlexField = value ;	
			}
		}
			
		

		/// <summary>
		/// 价格含税
		/// 销售合同DTO.Misc.价格含税
		/// </summary>
		private System.Boolean m_isPriceIncludeTax ;
		[DataMember(IsRequired=false)]
		public System.Boolean IsPriceIncludeTax
		{
			get	
			{	
				return m_isPriceIncludeTax ;
			}
			set	
			{	
				m_isPriceIncludeTax = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																																						
		#endregion 
	} 	
}
